// pages/taskDetails/taskDetails.js
var coord;  //声明 全局变量
Page({

  /**
   * 页面的初始数据
   */
  data: {
    x: 0,
    area_width: 100,   //可滑动区域的宽，单位是百分比，设置好后自动居中
    box_width: 120,   //滑块的宽,单位是 rpx
    maxNum: 0,

    task:{},//一个任务对象
    order: {
      orderId: "", // 订单编号
      userId: "", // 所属用户ID             - task中获取
      taskId: "", // 任务ID                 - task中获取
      courierId: "", // 骑手ID              - token中获取
      categoryId:"",//分类ID                - task中获取
      refundId: "", // 退款信息ID            - 暂时为空
      orderCode: "", // 任务编号             - 后端自动生成
      orderReward: "", // 价格               - task中获取
      orderPublishtime: "", // 发布时间      - task中获取    
      orderDeadlinetime: "", // 截至时间     - task中获取
      orderStatus: "", // 订单状态           - 后端设置，刚刚接单为进行中
      isDelete: "", // 是否删除              - 初始为0，表示没有被删除
      orderCreateTime: "" ,// 创建时间        - 创建时间后端生成
      orderAddressHome:"",//起始地址
      orderAddressGo:"",//终点地址

    }
    //订单对象
  },
    // 函数方法
    drag(e) {
      // console.log("滑块移动");
      var that = this;
      coord = e.detail.x;  //根据bindchange 事件获取detail的x轴
    },
    dragOver(e) {     //根据触摸 手指触摸动作结束    判断 当前的x轴 是否大于预设值的值 
      var that = this;
      // console.log("停止触摸");
      console.log("滑块移动："+coord)
      //滑动成功，表示该用户要接单
      if (coord >= that.data.maxNum) {
        /**
         * 1.发送请求到后端
         *    如果返回200，则表示接单成功
         *    如果返回401，则表示未登录
         *    否则就是出现错误，提示网络错误，请稍后再试
         */
        // 获取小程序实例
        const app = getApp();
        // 获取全局变量
        const globalUrl = app.globalData.globalUrl;
        const userInfo = wx.getStorageSync('UserData');
        //封装order
        this.setData({
          'order.userId':this.data.task.userId,
          'order.taskId':this.data.task.taskId,
          'order.categoryId':this.data.task.taskCategoryId,
          'order.orderReward':this.data.task.taskReward,
          'order.userId':this.data.task.userId,
          'order.orderDeadlinetime':this.data.task.taskDeadlineTime,
          'order.orderPublishtime':this.data.task.taskStartTime,
          'order.orderAddressHome':this.data.task.taskHomeaddressId,
          'order.orderAddressGo':this.data.task.taskGoaddressId
        })
        const requestData = {
          order: this.data.order,
          taskVo: this.data.task
        };        
        wx.request({
          url: globalUrl+'/user/order/insert',
          method: 'POST',
          header: {
            "token": userInfo.token,
          },
          data: requestData,
          
          success: (response) => {
            if(response.data.code === 200){ //当前任务不是该用户发布的，可以跳转到接单界面
              wx.navigateTo({
                url: '/pages/orderDetails/orderDetails?taskid=' +this.data.task.taskId
                // 接单成功，跳转到订单详情界面，然后进行显示
              });
            }else if(response.data.code === 401){//用户未登录
              wx.showToast({
                title: '您还没有登录，请先登录',
                icon: 'none'
              })
            }else if(response.data.code === 400){//当前任务是该用户发布的，跳转到我的任务界面
              wx.showToast({
                title: '不允许接本人发布的订单',
                icon: 'none'
              })
            }else if(response.data.code === 408){//当前任务是该用户发布的，跳转到我的任务界面
              wx.showToast({
                title: '接单失败，骑手未认证',
                icon: 'none'
              })
              that.setData({
                x: 0,//模块回退到起点
              })
            }else{
              wx.showToast({
                title: '您的网络有差异请稍后尝试！',
                icon: 'none'
              })
              that.setData({
                x: 0,//模块回退到起点
              })
            }
          },
        });
      } else {      // 如果不大于 则设置 x周的距离为0
        that.setData({
          x: 0,//模块回退到起点
        })
      }
    },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    var that = this;
    wx.getSystemInfo({  //获取系统信息 设置预设值
      success: function (res) {
        console.log("获取宽度为"+res.windowWidth);
        console.log("我定义的宽度为："+that.data.area_width);
        console.log("盒子的宽度为："+that.data.box_width);
        // var n = Math.floor(res.windowWidth)
        var n = Math.floor(res.windowWidth * that.data.area_width / 100 - that.data.box_width / 2)
        var n = Math.floor(res.windowWidth * that.data.area_width / 100 - 20 -5 - that.data.box_width / 2)
        console.log("n为"+n)
        that.setData({
          maxNum: n,
        })
      }
    })
    const task = wx.getStorageSync('task')
    this.setData({
      'task':task
    })
    console.log("接收大的数据为：",task)
  },
  

})